package com.linkgie.galaxyframework.persistence.data;

public interface EntityQueryOperator<T> {

    /**
     * 完成条件定义，生成查询；
     * 
     * @return
     */
    PageableEntityQueryView<T> query();

    /**
     * 完成条件定义，生成分组；
     * 
     * @param <R>               分组结果类型；
     * @param resultEntityClass 分组结果的实体类型；
     * @return
     */
    <R> EntityGrouper<T, R> groupAs(Class<R> resultEntityClass);
}
